<%--
  Created by IntelliJ IDEA.
  User: 10332
  Date: 2020/8/6
  Time: 20:49
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt"  prefix="T"%>

<!DOCTYPE html>
<html class="x-admin-sm">
<head>
    <meta charset="UTF-8">
    <title>考勤列表</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
    <link rel="stylesheet" href="${AppPath}/css/font.css">
    <link rel="stylesheet" href="${AppPath}/css/index.css">
    <link rel="stylesheet" href="${AppPath}/css/main.css">
    <script src="${AppPath}/lib/layui/layui.js" charset="utf-8"></script>
    <script type="text/javascript" src="${AppPath}/js/index.js"></script>
    <link rel="stylesheet" href="${AppPath}/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="${AppPath}/css/font-awesome.min.css">
    <link rel="stylesheet" href="${AppPath}/layer/skin/default/layer.css">

</head>
<body>
<div class="x-nav">
          <span class="layui-breadcrumb">
            <a href="">首页</a>
            <a href="">演示</a>
            <a><cite>导航元素</cite></a>
          </span>
    <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" onclick="location.reload()" title="刷新">
        <i class="layui-icon layui-icon-refresh" style="line-height:30px"></i></a>
</div>
<div class="layui-fluid">
    <div class="layui-row layui-col-space15">
        <div class="layui-col-md12">
            <div class="layui-card">
                <div class="layui-card-body ">

                    <form class="layui-form layui-col-space5" id="selectForm">
                        <input type="hidden" name="pageNum" id="pageNum">
                        <input type="hidden" name="urlForm" id="urlForm">

                        <div class="layui-inline layui-show-xs-block">

                            <input class="layui-input"  autocomplete="off" placeholder="开始日" name="start" id="start">
                        </div>
                        <div class="layui-inline layui-show-xs-block">
                            <input class="layui-input"  autocomplete="off" placeholder="截止日" name="end" id="end">
                        </div>
                        <div class="layui-inline layui-show-xs-block" id="studentExample">
                            <input type="text" name="studentName"  placeholder="请输入学生名" autocomplete="off" class="layui-input">
                        </div>
                        <div class="layui-inline layui-show-xs-block" id="empExample">
                            <input type="text" name="empName"  placeholder="请输入老师名" autocomplete="off" class="layui-input">
                        </div>

                        <div class="layui-inline layui-show-xs-block">
                            <select id="emp" name="empId" class="layui-input"  class="valid" lay-filter="emp">
                                <option value="">请选择讲师</option>
                            </select>
                        </div>

                        <div class="layui-inline layui-show-xs-block" id="courseExample" >
                            <select id="course" name="courseId" class="layui-input" class="valid" lay-filter="course">
                                <option value="">请选择课程</option>

                            </select>
                        </div>

                        <div class="layui-inline layui-show-xs-block">
                            <button class="layui-btn" type="button" id="selectBtn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button>
                        </div>
                    </form>
                </div>
                <div class="layui-card-header">
                    <button class="layui-btn layui-btn-danger" onclick="delAll()"><i class="layui-icon"></i>批量删除</button>
                    <button class="layui-btn" onclick="xadmin.open('添加','${AppPath}/attendence/addJump',600,400)"><i class="layui-icon"></i>添加</button>
                    <button class="layui-btn" onclick="xadmin.open('录入考勤','${AppPath}/attendence/addsJump',600,400)"><i class="layui-icon"></i>班级录入考勤</button>
                    <button class="layui-btn" onclick="exportAttendence()">导出Excel</button>
                </div>
                <div><table>
                    <tr>
                        <td><input type="file" id="upload" name="upload" value="" /></td>
                        <td><button class="layui-btn" onclick="uploadFile()">导入Excel</button></td>
                    </tr>
                </table></div>

                <div class="layui-card-body layui-table-body layui-table-main">
                    <table class="layui-table layui-form">
                        <thead >
                        <tr>
                            <th>
                                <input type="checkbox" lay-filter="checkall" name="" lay-skin="primary">
                            </th>
                            <th>ID</th>
                            <th>学生id</th>
                            <th>班级id</th>
                            <th>讲师id</th>
                            <th>课程id</th>
                            <th>考勤日期</th>
                            <th>结果</th>
                            <th>缺勤原因</th>
                            <th id="bianji">编辑</th>
                        </tr>
                        </thead>

                        <tbody id="tbody1">

                        </tbody>
                    </table>
                </div>

                <div class="layui-card-body ">
                    <div class="page">
                        <div id="pageInfo">

                        </div>
                    </div>
                </div>

            </div>
        </div>
    </div>
</div>
<script src="${AppPath}/jquery/jquery-2.1.1.min.js"></script>
<script src="${AppPath}/bootstrap/js/bootstrap.min.js"></script>
<script src="${AppPath}/script/docs.min.js"></script>
<script src="${AppPath}/layer/layer.js"></script>
</body>
<script>
    //ready事件

    layui.use(['laydate','form'], function(){
        var laydate = layui.laydate;
        var  form = layui.form;
        // 监听全选
        form.on('checkbox(checkall)', function(data){

            if(data.elem.checked){
                $('tbody input').prop('checked',true);
            }else{
                $('tbody input').prop('checked',false);
            }
            form.render('checkbox');
        });
        form.render();
        //执行一个laydate实例
        laydate.render({
            elem: '#start' //指定元素
        });

        //执行一个laydate实例
        laydate.render({
            elem: '#end' //指定元素
        });

        function BzrSelect() {
            layui.$.ajax({
                url:"${AppPath}/attendence/selectCourseByEmpId",
                type:"post",
                success:function(resp){
                    var Data1=resp.teachercourseList;
                    var str='';
                    var str1='';
                    layui.$.each(Data1,function (index,emp) {
                        str='<option value="'+emp.empId.empId+'">'+emp.empId.empName+'</option>';
                        layui.$("#emp").append(str);
                    })
                    layui.$.each(Data1,function (index,course) {
                        str1='<option value="'+course.courseId.courseId+'">'+course.courseId.courseName+'</option>';
                        layui.$("#course").append(str1)
                    })
                    form.render();
                }
            })
        }

        //判断角色确定访问路劲
        function judgeUrl() {
            alert("${empRole}");
            if (${empRole=="班主任"}){

                $("#urlForm").val("${AppPath}/attendence/BzrFindAttendence");
                layui.$("#studentExample").prop("style","display:none");
                layui.$("#empExample").prop("style","display:none");
                BzrSelect();
            }
        }
        judgeUrl();
        showList(1);
        $("#selectBtn").click(function () {
            showList(1);
        })
    });

    /*用户-停用*/
    function member_stop(obj,id){
        layer.confirm('确认修改结果？',function(index){
            $.ajax({
                url:"${AppPath}/attendence/updateResultById",
                type: "post",
                data: {"attendenceId":id},
                success:function (data) {
                    if(data.result=="ok"){

                        if(data.status=="缺勤"){
                            //发异步把用户状态进行更改
                            $(obj).attr('title','缺勤')
                            $(obj).find('i').html('&#xe62f;');
                            $(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('缺勤');
                            layer.msg('缺勤!',{icon: 5,time:1000});
                        }else{
                            $(obj).attr('title','到')
                            $(obj).find('i').html('&#xe601;');
                            $(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('到');
                            layer.msg('到!',{icon: 5,time:1000});
                        }
                    }else{
                        layer.msg(data.result, {time:1000, icon:2, shift:6},function () {});

                    }
                }
            })
        });
    }
    /*用户-删除*/
    function member_del(obj,id){
        layer.confirm('确认要删除吗？',function(index){
            //发异步删除数据
            $.ajax({
                url:"${AppPath}/attendence/deleteById",
                type: "post",
                data: {"attendenceId":id},
                success:function (data) {
                    if(data.result=="ok"){
                        $(obj).parents("tr").remove();
                        layer.msg('已删除!',{icon:1,time:1000},function () {

                        });
                    }else{
                        layer.msg(data.result, {time:1000, icon:2, shift:6},function () {});
                    }
                }
            })
        });
    }

    function delAll () {
        var ids = [];
        // 获取选中的id
        $('tbody input').each(function(index, el) {
            if($(this).prop('checked')){
                ids.push($(this).val())
            }
        });
        alert(ids)
        layer.confirm('确认要删除吗？'+ids.toString(),function(index){
            $.ajax({
                url:"${AppPath}/attendence/deleteByExample",
                type: "post",
                data: {"attendenceIds":ids},
                traditional:true,
                success:function (data) {
                    if(data.result=="ok"){
                        $(".layui-form-checked").not('.header').parents('tr').remove();
                        //捉到所有被选中的，发异步进行删除
                        layer.msg("删除成功",{time:1000, icon:1, shift:6},function () {
                            showList(1);
                        });

                    }else{
                        layer.msg(data.result, {time:1000, icon:2, shift:6},function () {});
                    }
                }
            })

        });
    }
    function uploadFile() {
        var file = $("#upload").val();
        file = file.substring(file.lastIndexOf('.'), file.length);
        if (file == '') {
            alert("上传文件不能为空！");
        } else if (file != '.xlsx' && file != '.xls') {
            alert("请选择正确的excel类型文件！");
        } else {
            ajaxFileUpload();
        }
    }
    function ajaxFileUpload() {

        var formData = new FormData();
        var name = $("#upload").val();
        formData.append("attendenceExcel", $("#upload")[0].files[0]);
        formData.append("name", name);
        $.ajax({
            url : "${AppPath}/attendence/importExcel",
            type : "POST",
            async : false,
            data : formData,
            processData : false,
            contentType : false,
            beforeSend : function() {
                console.log("正在进行，请稍候");
            },
            success : function(e) {
                if (e == "true") {
                    alert("导入成功");
                    showList(1);
                } else {
                    alert("导入失败");
                }
            }
        });
    }


    function exportAttendence() {
        location.href = "${AppPath}/attendence/exportExcel";
        layer.msg("导出成功",{time:1000, icon:1, shift:6},function () {});

    }
    //展示页面，考勤
    function showList(pageNum) {
        $("#pageNum").val(pageNum);
        $.ajax({
            url:$("#urlForm").val(),
            type:"post",
            async:false,
            data:$("#selectForm").serialize(),
            success:function (data) {
                if (data.result == "ok") {
                    var str = "";
                    $.each(data.pageInfo.list, function (index, attendence) {
                        str += '<tr>';
                        str += ' <td>';
                        str += '<input type="checkbox" name="id" value="'+attendence.attendenceId+'" lay-skin="primary">';
                        str += ' </td>';
                        str += '<td>' + (index + 1) + '</td>';
                        str += '<td>' + attendence.studentId.studentName + '</td>';
                        str += '<td>' + attendence.classId.className + '</td>';
                        str += '<td>' + attendence.empId.empName + '</td>';
                        str += '<td>' + attendence.courseId.courseName + '</td>';
                         var date=new Date(attendence.attendenceDate);
                        str += '<td>' + date.toLocaleString() + '</td>';
                        // str += '<td>' + attendence.attendenceDate + '</td>';
                        str += '<td class="td-status"><span class="layui-btn layui-btn-normal layui-btn-mini">'+attendence.attendenceResult+'</span></td>'
                        str += '<td>' + attendence.attendenceReason + '</td>';
                        str += '<td class="td-manage">';
                        str += '<a onclick="member_stop(this,'+attendence.attendenceId+')" href="javascript:;" title="'+attendence.attendenceResult+'"><i class="layui-icon">&#xe601;</i></a>';
                        str += '<a  title="编辑"  onclick="xadmin.open(\'编辑\',\'${AppPath}/attendence/updateJump?attendenceId='+attendence.attendenceId+'\')" href="javascript:;"><i class="layui-icon">&#xe642;</i></a>';
                        str += '<a title="删除" onclick="member_del(this,'+attendence.attendenceId+')" href="javascript:;"> <i class="layui-icon">&#xe640;</i> </a>';
                        str += '</td>';
                        str += '</tr>';
                    });
                    $("#tbody1").html(str);
                    let pa = "";
                    if(data.pageInfo.pageNum==1){
                        pa += '<a class="prev" disabled="true" style="pointer-events: none" href="">&lt;&lt;</a>'
                    }else {
                        pa += '<a class="prev" href="">&lt;&lt;</a>'
                    }
                    for(let i=0;i<data.pageInfo.pages;i++) {
                        if((i+1)==data.pageInfo.pageNum){
                            pa +='<span class="current">'+(i+1)+'</span>';
                        }else {
                            pa +='<a class="num" href="#" onclick="showList('+(i+1)+')" >' + (i + 1) + '</a>';
                        }
                    }
                    if(data.pageInfo.pageNum==data.pageInfo.pages){
                        pa+='<a class="next" href="#" disabled="true" style="pointer-events: none" >&gt;&gt;</a>';
                    }else{
                        pa+='<a class="next" href="#" onclick="showList('+(data.pageInfo.nextPage)+')">&gt;&gt;</a>';
                    }
                    $("#pageInfo").html(pa);

                        }else {
                            layer.msg(data.result, {time:1000, icon:2, shift:6},function () {});
                        }
                layui.use(['laydate','form'], function(){
                    var laydate = layui.laydate;
                    var  form = layui.form;
                    // 监听全选

                    form.render();

            })
        },

    })
    }
    Date.prototype.toLocaleString = function() {
        return this.getFullYear() + "-" + (this.getMonth() + 1) + "-" + this.getDate() ;
    };


</script>
</html>